/**
 * 
 */
package org.youisoft.summer.evaluator.operator;
/**
 * @author zijiang.jl
 *
 */
public interface Primitive<T> {
	public Operator<T> or(Operator<T> t);
	public Operator<T> orr(Operator<T> t);
	public Operator<T> sam(Operator<T> t);
	public Operator<T> xor(Operator<T> t);
	public Operator<T> and(Operator<T> t);
	public Operator<T> andd(Operator<T> t);
	public Operator<T> eqq(Operator<T> t);
	public Operator<T> eq(Operator<T> t);
	public Operator<T> neq(Operator<T> t);
	public Operator<T> grt(Operator<T> t);
	public Operator<T> les(Operator<T> t);
	public Operator<T> gre(Operator<T> t);
	public Operator<T> lee(Operator<T> t);
	public Operator<T> grl(Operator<T> t);
	public Operator<T> lel(Operator<T> t);
	public Operator<T> add(Operator<T> t);
	public Operator<T> sub(Operator<T> t);
	public Operator<T> mul(Operator<T> t);
	public Operator<T> div(Operator<T> t);
	public Operator<T> mod(Operator<T> t);
	
	
	public Operator<T> no();
	public Operator<T> plus();
	public Operator<T> minus();
}
